package main

import "fmt"

// 使用递归函数计算阶乘
func factorialRecursive(n int) int {
	if n == 0 {
		return 1
	}
	return n * factorialRecursive(n-1)
}

// 使用循环计算阶乘
func factorialIterative(n int) int {
	result := 1
	for i := 1; i <= n; i++ {
		result *= i
	}
	return result
}

func main() {
	n := 5 // 求5的阶乘

	// 使用递归函数计算阶乘
	resultRecursive := factorialRecursive(n)
	fmt.Printf("%d 的阶乘（递归）是 %d\n", n, resultRecursive)

	// 使用循环计算阶乘
	resultIterative := factorialIterative(n)
	fmt.Printf("%d 的阶乘（循环）是 %d\n", n, resultIterative)
}

//在这个示例中，我们定义了两个函数`factorialRecursive`和`factorialIterative`来分别使用递归和循环的方式计算阶乘。
//在`main`函数中，我们调用这两个函数来计算5的阶乘，然后输出结果。您可以根据需要修改`n`的值来计算不同数的阶乘。
